package com.telit.firecommand.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * comm_history_fire
 * @author
 */
@ApiModel(value="com.telit.entity.CommHistoryFire")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CommHistoryFire implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty(value="主键")
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 火情表id
     */
    @ApiModelProperty(value="火情表id")
    private Long fireId;

    /**
     * 火情名称
     */
    @ApiModelProperty(value="火情名称")
    private String fireName;

    /**
     * 火情code
     */
    @ApiModelProperty(value="火情code")
    private String fireCode;

    /**
     * 经度
     */
    @ApiModelProperty(value="经度")
    private String longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value="纬度")
    private String latitude;

    /**
     * 火场面积
     */
    @ApiModelProperty(value="火场面积")
    private String fireArea;

    /**
     * 受害原始林面积
     */
    @ApiModelProperty(value="受害原始林面积")
    private String damageOriginalArea;

    /**
     * 受害次生林面积
     */
    @ApiModelProperty(value="受害次生林面积")
    private String damageSecondaryArea;

    /**
     * 受害人工林面积
     */
    @ApiModelProperty(value="受害人工林面积")
    private String industrialForestArea;

    /**
     * 森林类别
     */
    @ApiModelProperty(value="森林类别")
    private String forestCategory;

    /**
     * 龄组
     */
    @ApiModelProperty(value="龄组")
    private String ageGroup;

    /**
     * 优势树种（组）
     */
    @ApiModelProperty(value="优势树种（组）")
    private String dominantTreeSpecies;

    /**
     * 树种组成
     */
    @ApiModelProperty(value="树种组成")
    private String treeSpeciesComposition;

    /**
     * 蓄积损失
     */
    @ApiModelProperty(value="蓄积损失")
    private String accumulationLoss;

    /**
     * 成林蓄积损失
     */
    @ApiModelProperty(value="成林蓄积损失")
    private String forestStockLoss;

    /**
     * 幼林损失株数
     */
    @ApiModelProperty(value="幼林损失株数")
    private String youngForestNumber;

    /**
     * 受害新造林面积
     */
    @ApiModelProperty(value="受害新造林面积")
    private String affectedNewAfforestationArea;

    /**
     * 轻伤人数
     */
    @ApiModelProperty(value="轻伤人数")
    private Integer minorInjuriesNumber;

    /**
     * 重伤人数
     */
    @ApiModelProperty(value="重伤人数")
    private Integer seriousInjuriesNumber;

    /**
     * 死亡人数
     */
    @ApiModelProperty(value="死亡人数")
    private Integer deathNumber;

    /**
     * 天气情况
     */
    @ApiModelProperty(value="天气情况")
    private String weatherCondition;

    /**
     * 最高温度
     */
    @ApiModelProperty(value="最高温度")
    private String maximumTemperature;

    /**
     * 最低温度
     */
    @ApiModelProperty(value="最低温度")
    private String minimumTemperature;

    /**
     * 最低湿度
     */
    @ApiModelProperty(value="最低湿度")
    private String minimumHumidity;

    /**
     * 风向
     */
    @ApiModelProperty(value="风向")
    private String windDirection;

    /**
     * 风力级别
     */
    @ApiModelProperty(value="风力级别")
    private String windLevel;

    /**
     * 风速
     */
    @ApiModelProperty(value="风速")
    private String windSpeed;

    /**
     * 降雨量
     */
    @ApiModelProperty(value="降雨量")
    private String rainfall;

    /**
     * 建筑物损失量
     */
    @ApiModelProperty(value="建筑物损失量")
    private String buildingLoss;

    /**
     * 设备损失(台，件)
     */
    @ApiModelProperty(value="设备损失(台，件)")
    private Integer equipmentLoss;

    /**
     * 林木资源价值损失金额
     */
    @ApiModelProperty(value="林木资源价值损失金额")
    private String forestResourceMoneyLoss;

    /**
     * 林木资源价值损失备注
     */
    @ApiModelProperty(value="林木资源价值损失备注")
    private String forestResourceRemark;

    /**
     * 木材损失金额
     */
    @ApiModelProperty(value="木材损失金额")
    private String woodMoneyLoss;

    /**
     * 木材损失备注
     */
    @ApiModelProperty(value="木材损失备注")
    private String woodRemark;

    /**
     * 固定资产损失金额
     */
    @ApiModelProperty(value="固定资产损失金额")
    private String fixedAssetsMoneyLoss;

    /**
     * 固定资产损失备注
     */
    @ApiModelProperty(value="固定资产损失备注")
    private String fixedAssetsRemark;

    /**
     * 流动资产损失金额
     */
    @ApiModelProperty(value="流动资产损失金额")
    private String flowAssetsMoneyLoss;

    /**
     * 流动资产损失备注
     */
    @ApiModelProperty(value="流动资产损失备注")
    private String flowAssetsRemark;

    /**
     * 非木制林业产品损失
     */
    @ApiModelProperty(value="非木制林业产品损失")
    private String nonWoodMoneyLoss;

    /**
     * 非木制林业产品损失备注
     */
    @ApiModelProperty(value="非木制林业产品损失备注")
    private String nonWoodRemark;

    /**
     * 农牧产品损失
     */
    @ApiModelProperty(value="农牧产品损失")
    private String farmingMoneyLoss;

    /**
     * 农牧产品损失备注
     */
    @ApiModelProperty(value="农牧产品损失备注")
    private String farmingRemark;

    /**
     * 火灾扑救损失
     */
    @ApiModelProperty(value="火灾扑救损失")
    private String fireSaveMoneyLoss;

    /**
     * 火灾扑救损失备注
     */
    @ApiModelProperty(value="火灾扑救损失备注")
    private String fireSaveRemark;

    /**
     * 人员损失金额
     */
    @ApiModelProperty(value="人员损失金额")
    private String personCasualtiesMoneyLoss;

    /**
     * 人员损失金额备注
     */
    @ApiModelProperty(value="人员损失金额备注")
    private String personCasualtiesRemark;

    /**
     * 居民财产损失
     */
    @ApiModelProperty(value="居民财产损失")
    private String propertyMoneyLoss;

    /**
     * 居民财产损失备注
     */
    @ApiModelProperty(value="居民财产损失备注")
    private String propertyRemark;

    /**
     * 野生动物损失
     */
    @ApiModelProperty(value="野生动物损失")
    private String wildAnimalsMoneyLoss;

    /**
     * 野生动物备注
     */
    @ApiModelProperty(value="野生动物备注")
    private String wildAnimalsRemark;

    /**
     * 停减产损失
     */
    @ApiModelProperty(value="停减产损失")
    private String stopProductionLoss;

    /**
     * 停减产损失备注
     */
    @ApiModelProperty(value="停减产损失备注")
    private String stopProductionRemark;

    /**
     * 灾后处理损失
     */
    @ApiModelProperty(value="灾后处理损失")
    private String handleMoneyLoss;

    /**
     * 灾后处理备注
     */
    @ApiModelProperty(value="灾后处理备注")
    private String handleRemark;

    /**
     * 森林生态价值损失备注
     */
    @ApiModelProperty(value="森林生态价值损失备注")
    private String forestEcologicalRemark;

    /**
     * 森林生态价值损失
     */
    @ApiModelProperty(value="森林生态价值损失")
    private String forestEcologicalLoss;

    /**
     * 损失总金额
     */
    @ApiModelProperty(value="损失总金额")
    private String lossAmout;

    /**
     * 森林资源损失率
     */
    @ApiModelProperty(value="森林资源损失率")
    private String forestLossRate;

    /**
     * 人均损失价值
     */
    @ApiModelProperty(value="人均损失价值")
    private String perCapitaMoneyLoss;

    /**
     * 林地损失平均价值量
     */
    @ApiModelProperty(value="林地损失平均价值量")
    private String forestLossAverageLoss;

    /**
     * 扑火成效比
     */
    @ApiModelProperty(value="扑火成效比")
    private String fightFireEffectivenessRatio;

    @ApiModelProperty(value="火烧点位集合")
    private Object firePoint;

    @ApiModelProperty(value="火灾等级")
    private String fireLevel;

    @ApiModelProperty(value="火情处理实体")
    @TableField(exist=false)
    private CommFireHandle fireHandleInfo;


    /**
     * 发现时间
     */
    @ApiModelProperty(value="发现时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date findTime;

    /**
     * 区域名称
     */
    @ApiModelProperty(value = "区域名称")
    private String districtName;

    /**
     * 海拔
     */
    @ApiModelProperty(value="海拔")
    private String altitude;

    /**
     * 坡向
     */
    @ApiModelProperty(value="坡向")
    private String slopedirection;

    /**
     * 坡位
     */
    @ApiModelProperty(value="坡位")
    private String slopeposition;

    /**
     * 坡度
     */
    @ApiModelProperty(value="坡度")
    private Integer slope;

    /**
     * 地类
     */
    @ApiModelProperty(value="地类")
    private String landtype;

    /**
     * 详细地址
     */
    @ApiModelProperty(value="详细地址")
    private String detailAddress;

    /**
     * 起火时间
     */
    @ApiModelProperty(value="起火时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date fireTime;

    /**
     * 扑灭时间
     */
    @ApiModelProperty(value="扑灭时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date endTime;

    /**
     * 起火原因
     */
    @ApiModelProperty(value="起火原因")
    private String fireReason;

    /**
     * 火情处理表id
     */
    private Long fireHandleId;

    /**
     * 总指挥
     */
    @ApiModelProperty(value = "总指挥")
    private String commanderInChief;

    /**
     * 总指挥职务
     */
    @ApiModelProperty(value = "总指挥职务")
    private String commanderInChiefDuty;

    /**
     * 前线指挥
     */
    @ApiModelProperty(value = "前线指挥")
    private String frontlineCommand;

    /**
     * 前线指挥职务
     */
    @ApiModelProperty(value = "前线指挥职务")
    private String frontlineCommandDuty;

    /**
     * 后方指挥
     */
    @ApiModelProperty(value = "后方指挥")
    private String rearCommand;

    /**
     * 后方指挥职务
     */
    @ApiModelProperty(value = "后方指挥职务")
    private String rearCommandDuty;


    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date createTime;

    public CommHistoryFire(Long id, String firePoint){
        this.id = id;
        this.firePoint = firePoint;
    }

    private static final long serialVersionUID = 1L;
}